package br.com.exatta.negocio;

import org.hibernate.Query;

import br.com.exatta.dados.Pesquisador;
import br.com.exatta.dados.SaidaViagem;
import br.com.exatta.dados.Viagem;

public class ConsultaSaidaViagem extends ConsultaGenerica<SaidaViagem>{

	private static final long serialVersionUID = 2800997101329484615L;

	private Pesquisador pesquisador;

	private Viagem viagem;

	public ConsultaSaidaViagem() {
	}

	@Override
	public String getHql() {
		StringBuilder sb = new StringBuilder();

		sb.append("FROM SaidaViagem sv");
		boolean where = false;
		if(pesquisador != null){
			where = append(sb,where,"sv.pesquisador = :pesquisador");
		}
		if(viagem != null){
			where = append(sb,where, "sv.viagem = :viagem");
		}

		return sb.toString();
	}

	public Pesquisador getPesquisador() {
		return pesquisador;
	}

	public Viagem getViagem() {
		return viagem;
	}

	@Override
	public void setParameters(Query q) {
		if(pesquisador != null){
			q.setEntity("pesquisador", pesquisador);
		}
		if(viagem != null){
			q.setEntity("viagem", viagem);
		}
	}

	public void setPesquisador(Pesquisador pesquisador) {
		this.pesquisador = pesquisador;
	}

	public void setViagem(Viagem viagem) {
		this.viagem = viagem;
	}
}
